package models;
public interface DictionaryProc {
/**
* @pre entry != null
* @pre !(entries.containsKey(entry))
* @post entries.containsKey(entry)
* @post size() == size()@pre + 1
*/
public void add(DictionaryEntry entry, boolean populate) throws IllegalOperationException;
/**
* @pre entry != null
* @pre entries.containsKey(entry)
* @post !(entries.containsKey(entry))
* @post size() == size()@pre - 1;
*/
public void removeKey(DictionaryEntry entry, boolean populate) throws IllegalOperationException;
/**
* @pre entry != null
* @pre definition != null
* @pre entries.containsKey(entry)
* @pre entries.get(entry).contains(definition)
* @post entries.containsKey(entry)
* @post !(entries.get(entry).contains(definition))
* @post entries.get(entry).size() + 1 == entries.get(entry).size()@pre
*/
public void removeDefinition(DictionaryEntry entry, DictionaryEntry definition, boolean populate) throws IllegalOperationException;
/**
* @pre entry != null
* @pre definition != null
* @pre entries.containsKey(entry)
* @pre entries.get(entry) != null
* @post !(entries.get(entry).isEmpty())
* @post entries.get(entry).size() == entries.get(entry).size()@pre + 1
*/
public void define(DictionaryEntry entry, DictionaryEntry definition, boolean populate) throws IllegalOperationException;
}